home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / monitory / tasky / source / window.c < prev    next >
C/C++ Source or Header  |  1993-05-14  |  5KB  |  186 lines

  1. /*
  2.  *  Source generated with GadToolsBox V1.4
  3.  *  which is (c) Copyright 1991,92 Jaba Development
  4.  */
  5.  
  6. #include <exec/types.h>
  7. #include <intuition/intuition.h>
  8. #include <intuition/classes.h>
  9. #include <intuition/classusr.h>
  10. #include <intuition/imageclass.h>
  11. #include <intuition/gadgetclass.h>
  12. #include <libraries/gadtools.h>
  13. #include <graphics/displayinfo.h>
  14. #include <graphics/gfxbase.h>
  15. #include <clib/exec_protos.h>
  16. #include <clib/intuition_protos.h>
  17. #include <clib/gadtools_protos.h>
  18. #include <clib/graphics_protos.h>
  19. #include <clib/utility_protos.h>
  20. #include <string.h>
  21.  
  22. #include <pragmas/exec_pragmas.h>
  23. #include <pragmas/intuition_pragmas.h>
  24. #include <pragmas/gadtools_pragmas.h>
  25. #include <pragmas/graphics_pragmas.h>
  26. #include <pragmas/utility_pragmas.h>
  27.  
  28. #include "window.h"
  29.  
  30. struct Screen         *Scr = NULL;
  31. APTR                   VisualInfo = NULL;
  32. struct Window         *TaskYWnd = NULL;
  33. struct Gadget         *TaskYGList = NULL;
  34. UWORD                  TaskYZoom[4];
  35. struct Gadget         *TaskYGadgets[12];
  36. UWORD                  TaskYLeft = 0;
  37. UWORD                  TaskYTop = 11;
  38. UWORD                  TaskYWidth = 296;
  39. UWORD                  TaskYHeight = 145;
  40. UBYTE                 *TaskYWdt = (UBYTE *)"TaskY 1.0";
  41.  
  42. struct TextAttr topaz8 = {
  43.     ( STRPTR )"topaz.font", 8, 0x00, 0x00 };
  44.  
  45. UWORD TaskYGTypes[] = {
  46.     LISTVIEW_KIND,
  47.     BUTTON_KIND,
  48.     BUTTON_KIND,
  49.     BUTTON_KIND,
  50.     BUTTON_KIND,
  51.     BUTTON_KIND,
  52.     BUTTON_KIND,
  53.     INTEGER_KIND,
  54.     BUTTON_KIND,
  55.     BUTTON_KIND,
  56.     BUTTON_KIND,
  57.     BUTTON_KIND
  58. };
  59.  
  60. struct NewGadget TaskYNGad[] = {
  61.     5, 2, 276, 112, NULL, NULL, GD_ListView, 0 ,NULL, NULL,
  62.     153, 115, 25, 13, (UBYTE *)"-5", NULL, GD_MinusFive, PLACETEXT_IN ,NULL, NULL,
  63.     179, 115, 25, 13, (UBYTE *)"-1", NULL, GD_MinusOne, PLACETEXT_IN ,NULL, NULL,
  64.     205, 115, 25, 13, (UBYTE *)"0", NULL, GD_Zero, PLACETEXT_IN ,NULL, NULL,
  65.     231, 115, 25, 13, (UBYTE *)"1", NULL, GD_PlusOne, PLACETEXT_IN ,NULL, NULL,
  66.     257, 115, 25, 13, (UBYTE *)"5", NULL, GD_PlusFive, PLACETEXT_IN ,NULL, NULL,
  67.     5, 129, 277, 12, (UBYTE *)"_Update", NULL, GD_Update, PLACETEXT_IN ,NULL, NULL,
  68.     110, 115, 41, 13, NULL, NULL, GD_Pri, 0 ,NULL, NULL,
  69.     5, 115, 25, 13, (UBYTE *)"^C", NULL, GD_SigC, PLACETEXT_IN ,NULL, NULL,
  70.     31, 115, 25, 13, (UBYTE *)"^D", NULL, GD_SigD, PLACETEXT_IN ,NULL, NULL,
  71.     57, 115, 25, 13, (UBYTE *)"^E", NULL, GD_SigE, PLACETEXT_IN ,NULL, NULL,
  72.     83, 115, 25, 13, (UBYTE *)"^F", NULL, GD_SigF, PLACETEXT_IN ,NULL, NULL
  73. };
  74.  
  75. ULONG TaskYGTags[] = {
  76.     (GTLV_ShowSelected), NULL, (TAG_DONE),
  77.     (TAG_DONE),
  78.     (TAG_DONE),
  79.     (TAG_DONE),
  80.     (TAG_DONE),
  81.     (TAG_DONE),
  82.     (GT_Underscore), '_', (TAG_DONE),
  83.     (GTIN_Number), 0, (GTIN_MaxChars), 10, (TAG_DONE),
  84.     (TAG_DONE),
  85.     (TAG_DONE),
  86.     (TAG_DONE),
  87.     (TAG_DONE)
  88. };
  89.  
  90. int SetupScreen( void )
  91. {
  92.     if ( ! ( Scr = LockPubScreen((UBYTE * )"Workbench" )))
  93.         return( 1L );
  94.  
  95.     if ( ! ( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
  96.         return( 2L );
  97.  
  98.     return( 0L );
  99. }
  100.  
  101. void CloseDownScreen( void )
  102. {
  103.     if ( VisualInfo ) {
  104.         FreeVisualInfo( VisualInfo );
  105.         VisualInfo = NULL;
  106.     }
  107.  
  108.     if ( Scr        ) {
  109.         UnlockPubScreen( NULL, Scr );
  110.         Scr = NULL;
  111.     }
  112. }
  113.  
  114. int OpenTaskYWindow( void )
  115. {
  116.     struct NewGadget     ng;
  117.     struct Gadget       *g;
  118.     UWORD                lc, tc;
  119.     UWORD                offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  120.  
  121.     if ( ! ( g = CreateContext( &TaskYGList )))
  122.         return( 1L );
  123.  
  124.     for( lc = 0, tc = 0; lc < TaskY_CNT; lc++ ) {
  125.  
  126.         CopyMem((char * )&TaskYNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  127.  
  128.         ng.ng_VisualInfo = VisualInfo;
  129.         ng.ng_TextAttr   = &topaz8;
  130.         ng.ng_LeftEdge  += offx;
  131.         ng.ng_TopEdge   += offy;
  132.  
  133.         TaskYGadgets[ lc ] = g = CreateGadgetA((ULONG)TaskYGTypes[ lc ], g, &ng, ( struct TagItem * )&TaskYGTags[ tc ] );
  134.  
  135.         while( TaskYGTags[ tc ] ) tc += 2;
  136.         tc++;
  137.  
  138.         if ( NOT g )
  139.         return( 2L );
  140.     }
  141.  
  142.     if ( TaskYWdt )
  143.         TaskYZoom[2] = TextLength( &Scr->RastPort, (UBYTE *)TaskYWdt, strlen((char *)TaskYWdt )) + 80;
  144.     else
  145.         TaskYZoom[2]  = 80L;
  146.         TaskYZoom[0] = TaskYZoom[1] = 0;
  147.         TaskYZoom[3] = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  148.  
  149.     if ( ! ( TaskYWnd = OpenWindowTags( NULL,
  150.                     WA_Left,          TaskYLeft,
  151.                     WA_Top,           TaskYTop,
  152.                     WA_Width,         TaskYWidth,
  153.                     WA_Height,        TaskYHeight + offy,
  154.                     WA_IDCMP,         LISTVIEWIDCMP|BUTTONIDCMP|INTEGERIDCMP|IDCMP_CLOSEWINDOW|IDCMP_VANILLAKEY|IDCMP_CHANGEWINDOW|IDCMP_REFRESHWINDOW,
  155.                     WA_Flags,         WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
  156.                     WA_Gadgets,       TaskYGList,
  157.                     WA_Title,         TaskYWdt,
  158.                     WA_Zoom,          TaskYZoom,
  159.             WA_AutoAdjust,    TRUE,
  160.                     TAG_DONE )))
  161.         return( 4L );
  162.  
  163.     TaskYZoom[0] = TaskYWnd->LeftEdge;
  164.     TaskYZoom[1] = TaskYWnd->TopEdge;
  165.     TaskYZoom[2] = TaskYWnd->Width;
  166.     TaskYZoom[3] = TaskYWnd->Height;
  167.  
  168.     GT_RefreshWindow( TaskYWnd, NULL );
  169.  
  170.     return( 0L );
  171. }
  172.  
  173. void CloseTaskYWindow( void )
  174. {
  175.     if ( TaskYWnd        ) {
  176.         CloseWindow( TaskYWnd );
  177.         TaskYWnd = NULL;
  178.     }
  179.  
  180.     if ( TaskYGList      ) {
  181.         FreeGadgets( TaskYGList );
  182.         TaskYGList = NULL;
  183.     }
  184. }
  185.  
  186.